Multi-device storage systems utilize multiple discrete storage devices, generally disk drives (solid-state drives, hard disk drives, hybrid drives, tape drives, etc.) for storing large quantities of data. These multi-device storage systems are generally arranged in an array of drives interconnected by a common communication fabric and, in many cases, controlled by a storage controller, redundant array of independent disks (RAID) controller, or general controller, for coordinating storage and system activities across the array of drives. The data stored in the array may be stored according to a defined RAID level, a combination of RAID schemas, or other configurations for providing desired data redundancy, performance, and capacity utilization. In general, these data storage configurations may involve some combination of redundant copies (mirroring), data striping, and/or parity (calculation and storage), and may incorporate other data management, error correction, and data recovery processes, sometimes specific to the type of disk drives being used (e.g., solid-state drives versus hard disk drives).
Some multi-device storage systems employ automated tiered storage. Automated tiered storage provides different types of interconnected storage devices, grouped into tiers of similar devices, and algorithms for automatically moving data from one tier to another. Types of storage may include differences in storage media, storage device specifications, device reliability, cost per capacity, input/output (I/O) performance class, and RAID configurations. For example, a storage area network (SAN) may be configured using automated tiered storage that migrates data blocks or objects between RAID 10, RAID 5, and RAID 0 tiers or a solid-state drive (SSD) tier, an enterprise-class hard disk drive (HDD) tier, and a desktop-class HDD tier.
In some tiered storage systems, particularly those based on SSDs, device endurance and fatigue from heavy I/O use and/or media wear/failure, may cause the tier classification of storage devices to change over time. Similarly, changes in use, age, risk, and other factors may cause the tier classification of data elements to change over time. Therefore, individual data elements may migrate between and among tiers and individual storage devices to reflect changes in both storage device tier classifications and data element tier classifications during operation of some tiered storage systems.
Requiring a host or storage controller to configure, monitor, and manage storage device tier configurations and/or related communication and data transfers among peer storage devices in a multi-device tiered storage system may create unnecessary overhead, transfer inefficiency, and processor and memory requirements for the controllers that do not scale well with the number of drives.
Therefore, there still exists a need for disaggregated storage architectures that distribute memory and compute resources across storage devices, such as SSDs, and enable reliable data management services in the face of changing configurations and increasing scale of storage systems.